package com.ruoyi.whole.domain.vo;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.whole.domain.DmsDealerVehicleInfo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class DmsDealerWholePurchaseVo {

    private static final long serialVersionUID = 1L;

    private Long id;

    /** 采购订单id */
    @Excel(name = "采购订单id")
    private Long purchaseId;

    /** 经销商id（部门id） */
    @Excel(name = "经销商id")
    private Long deptId;

    /** 公司id（部门id） */
    @Excel(name = "公司id")
    private Long companyId;

    /** 采购的车的数量 */
    @Excel(name = "采购的车的数量")
    private Integer wholePurchaseNumber;

    /** 0已发起采购，等待审核 1待销售审核 2待财务审核 3待配车 4待发货 5待收货 6已签收  7审核失败                 */
    @Excel(name = "采购状态" ,readConverterExp = "0=已发起采购，等待审核 1=待销售审核 2=待财务审核 3=待配车 4=待发货 5=待收货 6=已签收  7=审核失败")
    private Integer purchaseStatus;

    /** 采购的总价 */
    @Excel(name = "采购的总价")
    private Double purchasePrice;

    /** 支付方式（0微信支付、1支付宝支付、2现金支付、3银行卡支付） */
    @Excel(name = "支付方式", readConverterExp = "0=微信支付、1=支付宝支付、2=现金支付、3=银行卡支付")
    private Integer paymentMethod;

    /** 采购备注 */
    @Excel(name = "采购备注")
    private String purchaseRemark;

    /** 审核人id */
    @Excel(name = "审核人id")
    @TableField(value = "auditor_id", fill = FieldFill.UPDATE)
    private Long auditorId;

    /** 审核人名称 */
    @Excel(name = "审核人名称")
    @TableField(value = "auditor_name", fill = FieldFill.UPDATE)
    private String auditorName;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField(value = "auditor_time", fill = FieldFill.UPDATE)
    private Date auditorTime;

    private List<DmsDealerVehicleInfo> dmsDealerWholePurchaseDetailList;
}
